package com.itheima.framework.exception;

import com.itheima.entity.Result;
import com.itheima.entity.StatusCode;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 版权：(C) 版权所有 2000-2020 上海天好电子商务有限公司苏州分公司
 * <简述>
 * <详细描述>
 *
 * @author LiuShanshan
 * @version $Id$
 */
@ControllerAdvice    //@ControllerAdvice注解，全局捕获异常类，只要作用在@RequestMapping上，所有的异常都会被捕获
public class BaseExceptionHandler {

    /***
     * 异常处理
     * @param e
     * @return
     */
    @ExceptionHandler(value = Exception.class)    // 可以用来统一处理方法抛出的异常， 捕获异常
    @ResponseBody
    public Result error(Exception e) {
        e.printStackTrace();         // 在命令行打印异常信息在程序中出错的位置及原因。
        return new Result(false, StatusCode.ERROR, e.getMessage());
    }
}
